package com.chixing.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.Objects;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * <p>
 * 收藏表
 * </p>
 *
 * @author Jason Marslyon
 * @since 2022-10-04
 */
@ApiModel(value = "Mycollects对象", description = "收藏表")
public class Mycollects implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("收藏id")
    @TableId(value = "mycollect_id", type = IdType.AUTO)
    private Integer mycollectId;

    @ApiModelProperty("客户ID")
    private Integer personId;

    @ApiModelProperty("职位id")
    private Integer jobId;

    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai")
    @JsonSerialize(using = LocalDateSerializer.class)
    @JsonDeserialize(using = LocalDateDeserializer.class)
    @ApiModelProperty("收藏时间")
    private LocalDate mycollectStarttime;
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai")
    @JsonSerialize(using = LocalDateSerializer.class)
    @JsonDeserialize(using = LocalDateDeserializer.class)
    @ApiModelProperty("取消时间")
    private LocalDate mycollectEndtime;

    @ApiModelProperty("状态")
    private Integer mycollectState;

    private String mycollectsVersion;

    private String text1;

    private String text2;

    public Integer getMycollectId() {
        return mycollectId;
    }

    public void setMycollectId(Integer mycollectId) {
        this.mycollectId = mycollectId;
    }
    public Integer getPersonId() {
        return personId;
    }

    public void setPersonId(Integer personId) {
        this.personId = personId;
    }
    public Integer getJobId() {
        return jobId;
    }

    public void setJobId(Integer jobId) {
        this.jobId = jobId;
    }
    public LocalDate getMycollectStarttime() {
        return mycollectStarttime;
    }

    public void setMycollectStarttime(LocalDate mycollectStarttime) {
        this.mycollectStarttime = mycollectStarttime;
    }
    public LocalDate getMycollectEndtime() {
        return mycollectEndtime;
    }

    public void setMycollectEndtime(LocalDate mycollectEndtime) {
        this.mycollectEndtime = mycollectEndtime;
    }
    public Integer getMycollectState() {
        return mycollectState;
    }

    public void setMycollectState(Integer mycollectState) {
        this.mycollectState = mycollectState;
    }
    public String getMycollectsVersion() {
        return mycollectsVersion;
    }

    public void setMycollectsVersion(String mycollectsVersion) {
        this.mycollectsVersion = mycollectsVersion;
    }
    public String getText1() {
        return text1;
    }

    public void setText1(String text1) {
        this.text1 = text1;
    }
    public String getText2() {
        return text2;
    }

    public void setText2(String text2) {
        this.text2 = text2;
    }

    @Override
    public String toString() {
        return "Mycollects{" +
            "mycollectId=" + mycollectId +
            ", personId=" + personId +
            ", jobId=" + jobId +
            ", mycollectStarttime=" + mycollectStarttime +
            ", mycollectEndtime=" + mycollectEndtime +
            ", mycollectState=" + mycollectState +
            ", mycollectsVersion=" + mycollectsVersion +
            ", text1=" + text1 +
            ", text2=" + text2 +
        "}";
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Mycollects that = (Mycollects) o;
        return Objects.equals(mycollectId, that.mycollectId) && Objects.equals(personId, that.personId) && Objects.equals(jobId, that.jobId) && Objects.equals(mycollectStarttime, that.mycollectStarttime) && Objects.equals(mycollectEndtime, that.mycollectEndtime) && Objects.equals(mycollectState, that.mycollectState) && Objects.equals(mycollectsVersion, that.mycollectsVersion) && Objects.equals(text1, that.text1) && Objects.equals(text2, that.text2);
    }

    @Override
    public int hashCode() {
        return Objects.hash(mycollectId, personId, jobId, mycollectStarttime, mycollectEndtime, mycollectState, mycollectsVersion, text1, text2);
    }
}
